package com.magima.core.basic;

import java.util.HashMap;
import java.util.List;

import com.magima.core.connect.listener.ServerDataListener;

public class Storage<T> {
	
	public void read(Collection<T> collection, ServerDataListener<List<T>> listener, HashMap<String,Object> options){
		throw new UnsupportedOperationException();
	}
	public final void read(Collection<T> collection, ServerDataListener<List<T>> listener){
		read(collection, listener, null);
	}
	public void read(Model<T> model,ServerDataListener<T> listener, HashMap<String,Object> options){
		throw new UnsupportedOperationException();
	}
	public final void read(Model<T> model,ServerDataListener<T> listener){
		read(model,listener,null);
	}
	public void create(Collection<T> collection, T model,ServerDataListener<T> listener, HashMap<String,Object> options){
		throw new UnsupportedOperationException();
	}
	public final void create(Collection<T> collection, T model,ServerDataListener<T> listener){
		create(collection, model,listener, null);
	}
	public final void create(Collection<T> collection, Model<T> model,ServerDataListener<T> listener, HashMap<String,Object> options){
		create(collection, model.getModel(),listener, options);
	}
	public final void create(Collection<T> collection, Model<T> model,ServerDataListener<T> listener){
		create(collection, model.getModel(),listener, null);
	}
	public void update(Model<T> model, T data,ServerDataListener<T> listener, HashMap<String,Object> options){
		throw new UnsupportedOperationException();
	}
	public final void update(Model<T> model, T data,ServerDataListener<T> listener){
		update(model,data, listener,null);
	}
	public void delete(Collection<T> collection, Model<T> model,ServerDataListener<T> listener, HashMap<String,Object> options){
		throw new UnsupportedOperationException();
	}
	public final void delete(Collection<T> collection, Model<T> model,ServerDataListener<T> listener){
		delete(collection, model, listener, null);
	}
	public void deleteAll(Collection<T> collection, ServerDataListener<T> listener, HashMap<String,Object> options){
		throw new UnsupportedOperationException();
	}
	public Storage<T> duplicate(){
		throw new UnsupportedOperationException();
	}
}
